1. Field of the Invention
This invention relates to wireless communications. More specifically, this invention relates to electronic mail communications using a handheld wireless communications device.
2. Description of Related Art and General Background
A. Electronic Mail
Communication using electronic mail (hereinafter xe2x80x9ce-mailxe2x80x9d) has several advantages which have helped to fuel the recent exponential growth in e-mail usage. An e-mail message may be sent around the world substantially instantly, without incurring any long-distance telephone tolls or postage charges or delays. An e-mail message is also more tangible than a telephone call, as an exact copy of the transmission remains available for future reference by both the sender and the recipient. An e-mail transmission may easily be encrypted for security and can also be authenticated to ensure the integrity of the received message and the identity of the sender. It is also much easier to send an e-mail transmission to multiple recipients simultaneously than to send multiple letters or conduct a conference call or a series of calls. Additionally, e-mail messages may be preferable over telephone calls in situations where only one-way communication is desired. With the advent of easy-to-use software applications, e-mail has become a convenient and inexpensive way to communicate.
Initially, e-mail communication was limited to users connected within a particular network. Today, the Internet provides a communications pathway between users in separate and unrelated networks. As a result, e-mail transmissions may be exchanged between any two users who each have an established e-mail account on a server connected to the Internet. As shown in FIG. 1, each of the users D-G using computers 10c and 10d may correspond with any of the other users via servers 20a and 20b (which service the users"" e-mail accounts) and the Internet 250. Additionally, data modems 15a and 15b coupled to computers 10a and 10b, respectively, allow the connection between users to extend beyond the Internet 250 to include data links over the public switched telephone network (PSTN) 230, such that users A-C using computers 10a and 10b and their accounts on server 20a may correspond with any of the other users as well.
Common standards and protocols exist that enable e-mail and other forms of communications to be conducted over the Internet across a wide variety of software applications, computing platforms, and transmission channels. One such protocol, the Simple Mail Transfer Protocol (SMTP), is the standard method for transferring electronic mail over a network and is defined in xe2x80x9cSimple Mail Transfer Protocolxe2x80x9d by J. Postel, RFC 821, University of Southern California/Information Sciences Institute, August 1982. Because SMTP can be used to communicate across different platforms, it enables users of disparate systems to exchange e-mail messages transparently. For example, a researcher using a supercomputer running under a UNIX operating system can send the same e-mail message to a colleague on the same supercomputer, a co-worker in a different building using a different server and operating system, and a friend using a personal computer from home. A software routine or xe2x80x9clayerxe2x80x9d running on each of the latter two systems receives an SMTP transmission containing the message and handles it appropriately, allowing the researcher to transmit her message without regard to the nature or configuration of any recipient""s system.
In FIG. 1, a message sent by user B to user G might typically be delivered in three SMTP transmissions. In the first transmission, the message is transmitted by computer 10a to server 20a over the PSTN 230. In the second transmission, the message is transmitted by server 20a to server 20b over the Internet 250. In the third transmission, the message is transmitted by server 20b to computer 10d over a local-area network connection such as an Ethernet link. In each case, the SMTP transmission is carried across a Transmission Control Protocol (TCP) connection, which is sustained only during the length of the transmission.
A message passes from a transmitting system to a receiving system via SMTP as shown in FIGS. 2A and 2B. The mail transaction is initiated when the SMTP layer executing on the transmitting system (hereinafter xe2x80x9cTransmitter-SMTPxe2x80x9d) establishes communication with the SMTP layer executing on the receiving system (hereinafter xe2x80x9cReceiver-SMTPxe2x80x9d) as shown in block P005. In block P010, the Transmitter-SMTP sends a MAIL command to the Receiver-SMTP. This MAIL command instructs the Receiver-SMTP to reset all of its state tables and buffers and also identifies the sender, whose mailbox address appears in a reverse-path argument. If the Receiver-SMTP can accept mail, shown in the decision block P015, the Receiver-SMTP responds by transmitting an OK command as in block P025. Otherwise, the Receiver-SMTP rejects the mail as in block P020.
Once the Receiver-SMTP acknowledges that it can accept mail, the Transmitter-SMTP issues the RCPT command, which contains a forward-path argument that identifies the mailbox of one recipient, as shown in block P030. This process may be repeated several times, as SMTP provides the user with the ability to send the same message to multiple recipients. If the Receiver-SMTP can recognize the mail addressee as in decision block P035, the Receiver-SMTP transmits an OK command as in block P045. Otherwise, the Receiver-SMTP rejects the, unrecognized addressee as in block P040. The Receiver-SMTP processes any remaining addressees in a similar manner, shown in decision block P050 and blocks P070-P085 (corresponding to blocks P030-P045).
When the last addressee is processed, the Transmitter-SMTP sends the body of the message to the Receiver-SMTP, as shown in block P055. A DATA command defines the body of the mail message. The Receiver-SMTP treats the incoming data as message text until it detects an end-of-text signal, which comprises a line containing only a period. In block P060, the Transmitter-SMTP supplies the end-of-text signal. The Receiver-SMTP acknowledges this signal with an OK command as in block P065.
In addition to mail transmission, SMTP also supports features for address verification and correction, including supplying an address for e-mail forwarding and verifying and expanding a user""s name or mailing list. Moreover, SMTP also supports delivering messages to a user""s terminal instead of the user""s mailbox.
B. Attachments to E-Mail Transmissions
In traditional paper mail, a sender may enclose other documents, and even non-textual materials such as photographs, into the same envelope as a letter. E-mail transmissions, however, were originally limited to text. While SMTP is effective in bridging the gap between different computer platforms, control and data sequences within the SMTP layer must be composed entirely of the 128 characters of the ASCII character set.
Eventually, standardized methods for converting non-textual information into ASCII were developed, allowing the creation of software packages that provide users with the ability to attach non-textual material to an e-mail communication. One such method that has become a universal standard is uuencode (originally for xe2x80x98UNIX-to-UNIX encodexe2x80x99). Another standard used primarily on Apple Macintosh computers is BinHex (for xe2x80x98binary hexadecimalxe2x80x99). The ability to use attachments has expanded the power and utility of e-mail, as a user may now send audio data, image or video files, or any other file created with any computer application as e-mail.
Recently, the Multipurpose Internet Mail Extensions (MIME) protocol has become an Internet standard for attaching materials to e-mail transmissions. This protocol is defined in the following documents entitled xe2x80x9cMultipurpose Internet Mail Extensionsxe2x80x9d: RFC 2045 (Part One), RFC 2046 (Part Two), and RFC 2049 (Part: Five) by N. Freed and N. Borenstein; RFC 2047 (Part Three) by K. Moore; and RFC 2048 (Part Four) by N. Freed, J. Klensin, and J. Postel, University of Southern California/Information Sciences Institute, November 1996. A variation of MIME called S/MIME also includes encryption for security against eavesdroppers and imposters.
MIME uses header fields to identify the type of content and the method of encoding. Content type arguments that may appear in the header include xe2x80x98image,xe2x80x99 xe2x80x98audio,xe2x80x99 xe2x80x98text,xe2x80x99 xe2x80x98video,xe2x80x99 and xe2x80x98application,xe2x80x99 a catch-all category that includes other content types. Several kinds of encoding may be used, including seven-bit, quoted-printable and Base64. Seven-bit encoding is used for files containing all ASCII data. Quoted-printable encoding is used for mostly ASCII text with few binary characters, as found in enhanced text documents such as those formatted in Microsoft""s Rich Text Format (RTF). Base64 encoding is used for files that contain a significant amount of binary data, such as audio data, image files, and videos. Additional descriptions of the data in the message body may be provided in the Content-ID and Content-Description header fields. A single message may contain several parts of different data types, in which case a boundary marker is used to separate the different parts of the message. The MIME protocol thus provides a standardized method for transmitting files by e-mail in such a way that each file may be automatically associated with its proper application at the receiver.
In Base64 encoding, the first step is to format the binary data into groups of three bytes (i.e. 24 bits). Each 24-bit group is then divided into four subgroups of six bits. Next, leading zeros are prefixed to each sub-group of six bits to create a group of four new bytes, each representing an ASCII character. As a result, the file is converted to a form that can be transported via SMTP regardless of the application that was used to produce the file.
C. Digital Audio Formats
One way to store and transmit sound in digital form is simply as a sequence of samples, where a predetermined period of time passes between each sampled point and the value of each sample is stored at a predetermined resolution. The WAV (for xe2x80x98waveform audioxe2x80x99) file format, for example, defines sound sampled (or digitally created) at either 8-bit or 16-bit resolution and at a rate of either 11.025, 22.050, or 44.100 kHz. Commercial audio compact disc (CD) recordings contain sound sampled at resolution of 16 bits/sample and a rate of 44.100 kHz.
Direct transmission or storage of sound can be very expensive. For example, sampling an analog sound at 16-bit resolution at a rate of 44.100 kHz produces 706 kilobits of data per second. Even sampling at 8-bit resolution at a rate of only 11.025 kHz (i.e. limited to a maximum frequency of approximately 5500 Hz) produces 88 kilobits of data per second. In wireless communications applications, the available bandwidth is too limited and expensive to permit such data rates, and it is necessary to significantly reduce the amount of data that must be transferred. Linear predictive coding (LPC), a technique which anticipates the future form of a signal from its past form, is commonly used for compressing voice data in digital wireless communications. An LPC voice coder (or xe2x80x98vocoderxe2x80x99) analyzes speech according to a model of the human vocal tract, identifying the code parameters that are shipped to the receiver and used to reconstruct the spoken sounds.
Use of LPC is more efficient in transmitting voice data than direct sampling formats such as WAV. The difference between the two techniques can be demonstrated most dramatically by considering how each one handles a period of silence (which one might expect to comprise about one-half of a typical two-way telephone conversation). In LPC, a period of silence produces few parameters to transmit or store. In direct sampling formats, on the other hand, a period of silence is sampled like any other period, and the data rate remains the same.
One variant of LPC known as code-excited linear prediction (CELP) produces a higher ratio of voice signal quality to bit rate by tracking the errors between the original speech and the computer-generated model. CELP utilizes a code book that is used to decode the errors at the receiver""s end, resulting in much higher quality of prediction. Even better results (data rates of 1 to 8 kilobits per second) can be achieved by using variable-rate variants as, for example, described in U.S. Pat. No. 5,414,796, entitled xe2x80x9cVARIABLE RATE VOCODER,xe2x80x9d issued May 9, 1995 and assigned to the assignee of the present application, and/or techniques for error correction and control as, for example, described in U.S. Pat. No. 5,600,754, entitled xe2x80x9cMETHOD AND SYSTEM FOR THE ARRANGEMENT OF VOCODER DATA FOR THE MASKING OF TRANSMISSION CHANNEL INDUCED ERRORS,xe2x80x9d issued Feb. 4, 1997 and assigned to the assignee of the present invention.
D. Wireless Data Communications
Voice and data may be transmitted over a wireless link in either analog or digital form. Although analog systems are currently more ubiquitous, digital techniques enable wireless service providers to increase the capacity of their systems by using time-division and code-division multiple access techniques.
A single wireless network may support voice and data services over the same frequency band or over separate frequency bands. Wireless networks also exist that are dedicated primarily or entirely to either voice or data services. Generally, wireless networks comprise a number of fixed and geographically distributed transceivers that communicate with the mobile units currently within their coverage areas. The mobile units may be cellular telephones, or they may be wireless modems connected to laptop computers or PDAs. The fixed transceivers typically communicate with a central control unit through a wired or wireless backhaul. While certain small-scale wireless systems may be self-contained, wireless networks are typically connected to the PSTN and may also have a direct connection to the Internet.
In a typical wireless data connection, a wireless modem may be attached to a serial or PCMCIA port of a laptop computer. A cellular telephone system that serves both voice users and data users receives the data signals from the wireless modem and carries them to access points connected to wire systems. Alternatively, a cellular system that is dedicated to data communications may carry the data signals received from the wireless modem.
E. E-Mail in a Wireless Communications Environment
Wireless data networks offer the possibility to combine the mobility of a portable device with the efficiency of e-mail communications. To achieve wireless e-mail connectivity, a user might execute a software application (i.e. a sequence of instructions executable by an array of logic elements such as a processor) which supports e-mail services on a laptop computer equipped with a wireless modem. The wireless modem is then used in the same fashion as a wireline modem, i.e. to provide a connection through the PSTN to the server servicing the user""s e-mail account.
More recently, it has become possible to receive and view e-mail using (1) a handheld cellular telephone unit with a display or (2) a handheld personal digital assistant (PDA) connected to a wireless modem. By using the phone keypad, for example, the user may select an option that allows an incoming e-mail message to be retrieved and displayed. After viewing the message, the user may select an option to erase the message or store it in the phone""s memory.
However, such handheld products offer very limited functionality to the user who wants to send an e-mail message. Initiating or replying to an e-mail message, presents significant problems to the user of a handheld device, as the device lacks a convenient text input tool such as a typing keyboard. Instead, only limited text input is possible with the use of the phone""s numeric keypad. Consider a user who wishes to input the word xe2x80x9cACE.xe2x80x9d The xe2x80x982xe2x80x99 key on the phone keypad is associated with three letters in the alphabet, namely, A, B, and C, while the xe2x80x983xe2x80x99 key is associated with the letters D, E, and F. To input the word ACE using the phone keypad, the user first presses the xe2x80x982xe2x80x99 key once. The letter A appears on the display. After a brief pause, the user presses the xe2x80x982xe2x80x99 key one more time. The display now reads xe2x80x9cAA.xe2x80x9d To get the letter C, the user presses the xe2x80x982xe2x80x99 key twice more in rapid succession. The letter C appears on the display, which now reads xe2x80x9cAC.xe2x80x9d Finally, to enter the letter E, the user presses the xe2x80x983xe2x80x99 key twice in rapid succession. The display now reads xe2x80x9cACE.xe2x80x9d
As this example demonstrates, the task of entering text using a numeric keypad is very cumbersome. The small size of the wireless phone, while advantageous in many respects, does not provide a practical way to send e-mail communication. This limitation is shared by other handheld devices, which are necessarily too small for features such as typing keyboards. Even if such a keyboard were to be included with a handheld device, its small size would make it difficult to use. Thus, sending e-mail communications with a handheld device has not been a practical option, especially for long messages or for users who are in transit or driving.
In contrast, the present invention allows the users of handheld wireless communications devices to send e-mail communications in a convenient manner, even while driving or walking down the street. Additionally, users may now send voice messages without incurring the toll charges of a long-distance telephone call or possibly initiating a two-way communication. The invention also provides a way to send image and other non-textual information without any need for cumbersome equipment such as a laptop computer.
A novel method and apparatus are disclosed for using a handheld wireless communications device to create a voice, image, or video file and forward it to a recipient as an attachment to an e-mail message. In one embodiment, a software (or firmware) application running on the handheld device forwards the data to a server integrated into the wireless network, and the server formats the e-mail message and forwards it to the recipient over a data communications network such as the Internet. In another embodiment, the handheld device formats the e-mail message and transmits it to a server integrated into or external to the wireless network, which server forwards the message to the recipient.